﻿#region Using directives

using System;
using System.Collections.Generic;
using System.Text;

#endregion

namespace Weazel.Gezel.Model
{
  /// <summary>
  /// A typed entity is a component
  /// which produces an integer upon
  /// evaluation which have a width
  /// and is possibly signed.
  /// </summary>
  public interface ITypedEntity
  {
    int Id { get; }
    string Name { get;}
    string LocalName { get;}

    /// <summary>
    /// Bitwidth of the component
    /// </summary>
    /// <value></value>
    int Width { get; }

    /// <summary>
    /// True iff component produces
    /// signed results
    /// </summary>
    /// <value></value>
    bool Signed { get; }
  }
}
